home *** CD-ROM | disk | FTP | other *** search
/ 3D Games - Real-time Rend…ng & Software Technology / 3D Games - Real-time Rendering & Software Technology.iso / flysdk / lib / flypak.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-02-27  |  1.1 KB  |  60 lines

  1. #define MAXP 256
  2.  
  3. class FLY_API fly_pak
  4. {
  5. public:
  6.     char *buf;
  7.     unsigned long pos, len;
  8.  
  9.     void seek(long offset);
  10.     bool open(char *filename);
  11.     void close();
  12.     int read(void *dest, int size);
  13.     void get_profile_string(char *section, char *key, char *dest);
  14.     void get_string(char *dest);
  15.     int get_int();
  16.     float get_float();
  17.     FILE *get_fp(char *filename);
  18.     fly_pak();
  19.     ~fly_pak();
  20.  
  21. protected:
  22.     FILE *pakfile;
  23.     char fldrname[MAXP];
  24.  
  25.     bool seek_file(char *);
  26.     bool open_pak(char *);
  27.     bool proc_section(char *);
  28.     bool proc_key(char *);
  29.     bool same_pak(char *);
  30. };
  31.  
  32. struct fileinfo
  33. {
  34.     char filename[MAXP];
  35.     unsigned long size;
  36. };
  37.  
  38. class FLY_API fly_pak_util
  39. {
  40. public:
  41.     bool implode(char *);
  42.     bool explode(char *);
  43.  
  44. protected:
  45.     char folder[MAXP];
  46.     bool add_data();
  47.     bool add_header();
  48.     unsigned long currsize;
  49.     unsigned long totalsize;
  50.     void add_filelist(char *, unsigned long);
  51.     unsigned int lenfilelist;
  52.     virtual void update_status(char *, unsigned long);
  53.     struct fileinfo *filelist;
  54.     FILE *fpk;
  55.     bool add(int);
  56.     bool browse(char *);
  57.     void create_dir(char *, char *);
  58.     bool extract(char *, unsigned long);
  59. };
  60.